Skip to content

MSVCのバージョン表記を統一#521

Merged
faithandbrave merged 2 commits into
cpprefjp:masterfrom
sayurin:vsdoc
Feb 27, 2018
Merged

MSVCのバージョン表記を統一#521
faithandbrave merged 2 commits into
cpprefjp:masterfrom
sayurin:vsdoc

Conversation

@sayurin

@sayurin sayurin commented Feb 26, 2018

Copy link
Copy Markdown
Contributor

バージョン表記が「14.0 Update 3」「15.3」と揺れがあったので統一した。
製品名、Visual C++ バージョンも不完全な部分を修正した。
言語機能の切り替えについても補足しつつ修正した。

@faithandbrave

Copy link
Copy Markdown
Member

@yumetodo 私が環境がなくてレビューがむずかしいので、レビューをお願いしてもよろしいでしょうか?

Comment thread implementation.md Outdated

### C++11の機能を有効にする

- 全ての機能が常に有効となっている

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@sayurin この説明は誤りではないでしょうか?VS2017に偏りすぎた説明で読者に誤解を与えると思います

@sayurin sayurin Feb 26, 2018

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

C++14に対して未実装機能があるにもかかわらず「そのリリース時の最新言語バージョンが有効となる」と表現されていたので、C++11についてもそれに倣った表現を考えました。
←「実装済みの機能は全て有効になる」という表現も考えてはいました。

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

うーん・・・

そのリリース時の最新言語バージョンが有効となる

277459d で書かれた @faithandbrave 氏の見解を伺いたいところ

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

たしかにこのページのこの文章単体だと、C++11の機能が全て使えるように思えてしまいますね。これまでの文章にならうなら、「常にC++11は有効である」とかでしょうか?タイトルと「C++11」が重複してしまいますが、「常に有効である」と書くと主語がなくなってしまいますし…。

「実装済みの機能は」をつけるのは、ほかのコンパイラではそのように書いていないことから、不公平な記述になってしまいそうです。

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

読者ができるだけ誤解なく正確に理解できる事が最も優先されるべき目的と思いますので @faithandbrave さんの例示したように「常にC++11は有効である」としておけば良いのではないかと思います。また、この考えに基いて私からは、「実装済みの機能は」を書き加えておく事も、読者がこのページを参照する目的に対しより正確な表現かつ余剰という程でもなく伝えられ、付け加えても構わないのではないかな、と思います。但し、付け無い方が体裁として美しいから付けない、という意見に反対するほどではありません。

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

対称性を踏まえて次のようにしてみました。

  • C++11は常に有効である
  • C++14は常に有効である
  • 2015 Update 2以前に実装された機能については、互換性の観点から常に有効である

いかがでしょうか?

Comment thread implementation.md

### C++14の機能を有効にする

- 14.0 Update 2までは、言語のバージョンを切り替える機能はなく、そのリリース時の最新言語バージョンが有効となる

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

この文言を削除した理由について教えてください

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

2015 Update 3前後で「C++14の機能を有効にする」の観点では何も変化がないため誤解を招かない表現を考えました。

Comment thread implementation.md
- 14.0 Update 2までは、言語のバージョンを切り替える機能はなく、そのリリース時の最新言語バージョンが有効となる
- 14.0 Update 3からは、`/std:c++14`オプションを使用する。とくに指定しない場合はデフォルトでC++14が有効となる。この時`_MSVC_LANG`マクロが`201402`になる
- 全ての機能が常に有効となっている
- 2015 Update 3から`/std:c++14`オプションが導入されたが既定値でありC++14を無効化する機能は提供されていない。`_MSVC_LANG`マクロの値は`201402`になる

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1

Comment thread implementation.md
| Visual Studio 2017 | 15.3.3 | 14.1 | 1911 | 191125507 |
| Visual Studio 2017 <sup><a id="note_ref-visual_cpp_ver-1" href="#note-visual_cpp_ver-1">[§注1]</a></sup> | 15.0 | 14.1 | 1910 | 191025017 |
| Visual Studio 2017 RC | | 14.1 | 1910 | 191024930 |
| Visual Studio 2017 Update5 | 15.5.7 | 14.12 | 1912 | 191225835 |

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

あくまで14.1であって14.1xではないと思っているのですが、どうでしょうか?
image

PlatformToolsetでもv141となっているので有効桁数(という概念が正しいかはともかく)3桁だと思うのですが・・・

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

2017 Update 5からside-by-sideをサポートし、バージョンを区別するために v14.11 という表現をするようになりました。一時的なものかと様子を見ていましたが、2017 Update 6 Previewではバージョンがさらに増えていました。そのため4桁で表現する必要があると考えました。
image

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

side-by-sideをサポートし

なんと・・・たしかに4桁必要そうです。

@faithandbrave

Copy link
Copy Markdown
Member

ありがとうございます。 @yumetodo さんからも承認がでているので、マージしちゃいますね。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants